package com.devframe.web.struts1.converters;

import java.math.BigDecimal;

import org.apache.commons.beanutils.Converter;

/**
 * 
 *<pre><b><font color="blue">BigDecimalConverter</font></b></pre>
 *
 *<pre><b>&nbsp;--描述说明--</b></pre>
 * <pre></pre>
 * <pre>
 * <b>--样例--</b>
 *   BigDecimalConverter obj = new BigDecimalConverter();
 *   obj.method();
 * </pre>
 * JDK版本：JDK1.4
 * @author  <b></b>
 */
public class BigDecimalConverter implements Converter {

	/**
	 * @param class0 Class
	 * @param object Object
	 * @return Object
	 */
	public Object convert(Class class0, Object object) {
		if (object == null) {
			return null;
		}
		if (object instanceof BigDecimal) {
			return object;
		}
		String str = "";
		if (!(object instanceof String)) {
			str = object.toString();
		}

		if (object instanceof String) {
			str = ((String) object).trim();
			if ("".equals(str)) {
				return null;
			}

			try {
				return new java.math.BigDecimal(str);
			} catch (Exception ex) {
				// throw new ConversionException(str + " 不是有效的小数！");
				// throw new RuntimeException(str + " 不是有效的小数！");
				return null;
			}
		} else {
			// throw new ConversionException(object + " 不是一个字符串！");
			return null;
		}

	}
}
